package everyday;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @author ZhanBo
 * @date 2020/7/8
 */
public class Solution1611 {

    public static void main(String[] args) {
        int[] ints = divingBoard(1, 2, 3);
        for (int item : ints){
            System.out.print(item+"\t");
        }
    }

    /**
     * 面试题 16.11. 跳水板
     * 你正在使用一堆木板建造跳水板。有两种类型的木板，其中长度较短的木板长度为shorter，
     * 长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法，生成跳水板所有可能的长度。
     *
     * 返回的长度需要从小到大排列。
     *
     * 输入：
     * shorter = 1
     * longer = 2
     * k = 3
     * 输出： {3,4,5,6}
     *
     * @param shorter
     * @param longer
     * @param k
     * @return
     */
    public static int[] divingBoard(int shorter, int longer, int k) {
        if (k==0){
            return new int[0];
        }else if (shorter==longer){
            return new int[]{shorter * k};
        }
        List<Integer> list = new ArrayList<>();
        int shorterNums = k;
        int longerNums = 0;
        int temp = 1;
        while (longerNums<=k){
            temp = shorter*shorterNums+longer*longerNums;
            list.add(temp);
            shorterNums--;
            longerNums++;
        }
        int [] result = new int[list.size()];
        for (int i = 0 ; i <list.size();i++){
            result[i] = list.get(i);
        }
        return result ;
    }
}
